package com.xiongtian.springframework.context;

import com.xiongtian.springframework.beans.BeansException;

/**
 * @Author: xiongtian
 * @CreateTime: 2025-03-28  16:49
 * @Version: 1.0
 * @Description: 可配置化应用上下文
 */

public interface ConfigurableApplicationContext extends ApplicationContext {

    /**
     * 刷新容器
     *
     * @throws BeansException 异常
     */
    void refresh() throws BeansException;


    /**
     * 注册关闭的钩子
     * 在jvm关闭的时候，执行指定的方法，关闭上下文
     */
    void registerShutdownHook();


    /**
     * 关闭上下文
     */
    void close();

}
